package cn.powerone.scm.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.powerone.common.annotation.Excel;
import cn.powerone.common.core.domain.BaseEntity;

/**
 * 付款对象 scm_order_payment
 * 
 * @author PowerOne
 * @date 2025-08-05
 */
public class ScmOrderPayment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 付款编号 */
    @Excel(name = "付款编号")
    private String number;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Long supplierId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderCode;

    /** 付款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal money;

    /** 0待审核、1审核中、2审核通过、3审核未通过 */
    @Excel(name = "0待审核、1审核中、2审核通过、3审核未通过")
    private Integer checkStatus;

    /** 审批人IDs */
    @Excel(name = "审批人IDs")
    private String checkAdminId;

    /** 负责人ID */
    @Excel(name = "负责人ID")
    private Long ownerUserId;

    /** 负责人 */
    @Excel(name = "负责人")
    private String ownerUserName;

    /** 收款方式1默认2在线收款3续费 */
    @Excel(name = "收款方式1默认2在线收款3续费")
    private Integer payType;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setNumber(String number) 
    {
        this.number = number;
    }

    public String getNumber() 
    {
        return number;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setOrderCode(String orderCode) 
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode() 
    {
        return orderCode;
    }
    public void setPaymentDate(Date paymentDate) 
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate() 
    {
        return paymentDate;
    }
    public void setMoney(BigDecimal money) 
    {
        this.money = money;
    }

    public BigDecimal getMoney() 
    {
        return money;
    }
    public void setCheckStatus(Integer checkStatus) 
    {
        this.checkStatus = checkStatus;
    }

    public Integer getCheckStatus() 
    {
        return checkStatus;
    }
    public void setCheckAdminId(String checkAdminId) 
    {
        this.checkAdminId = checkAdminId;
    }

    public String getCheckAdminId() 
    {
        return checkAdminId;
    }
    public void setOwnerUserId(Long ownerUserId) 
    {
        this.ownerUserId = ownerUserId;
    }

    public Long getOwnerUserId() 
    {
        return ownerUserId;
    }
    public void setOwnerUserName(String ownerUserName) 
    {
        this.ownerUserName = ownerUserName;
    }

    public String getOwnerUserName() 
    {
        return ownerUserName;
    }
    public void setPayType(Integer payType) 
    {
        this.payType = payType;
    }

    public Integer getPayType() 
    {
        return payType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("number", getNumber())
            .append("supplierId", getSupplierId())
            .append("orderId", getOrderId())
            .append("orderCode", getOrderCode())
            .append("paymentDate", getPaymentDate())
            .append("money", getMoney())
            .append("checkStatus", getCheckStatus())
            .append("checkAdminId", getCheckAdminId())
            .append("remark", getRemark())
            .append("ownerUserId", getOwnerUserId())
            .append("ownerUserName", getOwnerUserName())
            .append("payType", getPayType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
